
import PartialVersion from "./version.mdx"
import PartialName from "./name.mdx"
import PartialImportsreference from "./imports_reference.mdx"
import PartialFunctions from "./functions.mdx"
import PartialPipelinesreference from "./pipelines_reference.mdx"
import PartialImagesreference from "./images_reference.mdx"
import PartialDeploymentsreference from "./deployments_reference.mdx"
import PartialDevreference from "./dev_reference.mdx"
import PartialVarsreference from "./vars_reference.mdx"
import PartialCommandsreference from "./commands_reference.mdx"
import PartialDependenciesreference from "./dependencies_reference.mdx"
import PartialPullSecretsreference from "./pullSecrets_reference.mdx"
import PartialRequirereference from "./require_reference.mdx"
import PartialHooksreference from "./hooks_reference.mdx"
import PartialLocalRegistryreference from "./localRegistry_reference.mdx"

<PartialVersion />


<PartialName />



<details className="config-field" data-expandable="true">
<summary>

## `imports` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">object[]</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#imports}

Imports merges specified config files into this one. This is very useful to split up your DevSpace configuration
into multiple files and reuse those through git, a remote url or common local path.

</summary>

<PartialImportsreference />


</details>


<PartialFunctions />



<details className="config-field" data-expandable="true">
<summary>

## `pipelines` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;pipeline_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#pipelines}

Pipelines are the work blocks that DevSpace should execute when devspace dev, devspace build, devspace deploy or devspace purge
is called. Pipelines are defined through a special POSIX script that allows you to use special commands
such as create_deployments, start_dev, build_images etc. to signal DevSpace you want to execute
a specific functionality. The pipelines dev, build, deploy and purge are special and will override
the default functionality of the respective command if defined. All other pipelines can be either run
via the devspace run-pipeline command or used within another pipeline through run_pipelines.

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<pipeline_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"><span>dev<br/>deploy<br/>build<br/>purge<br/>.*</span></span> {#pipelines-name}

Name of the pipeline, will be filled automatically

</summary>

<PartialPipelinesreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `images` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;image_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#images}

Images holds configuration of how DevSpace should build images. By default, DevSpace will build all defined images.
If you are using a custom pipeline, you can dynamically define which image is built at which time during the
execution.

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<image_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#images-name}

Name of the image, will be filled automatically

</summary>

<PartialImagesreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `deployments` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;deployment_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#deployments}

Deployments holds configuration of how DevSpace should deploy resources to Kubernetes. By default, DevSpace will deploy all defined deployments.
If you are using a custom pipeline, you can dynamically define which deployment is deployed at which time during the
execution.

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<deployment_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#deployments-name}

Name of the deployment

</summary>

<PartialDeploymentsreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `dev` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;dev_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#dev}

Dev holds development configuration. Each dev configuration targets a single pod and enables certain dev services on that pod
or even rewrites it if certain changes are requested, such as adding an environment variable or changing the entrypoint.
Dev allows you to:
- sync local folders to the Kubernetes pod
- port forward remote ports to your local computer
- forward local ports into the Kubernetes pod
- configure an ssh tunnel to the Kubernetes pod
- proxy local commands to the container
- restart the container on file changes

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<dev_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#dev-name}

Name of the dev configuration

</summary>

<PartialDevreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `vars` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;var_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#vars}

Vars are config variables that can be used inside other config sections to replace certain values dynamically

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<var_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#vars-name}

Name is the name of the variable

</summary>

<PartialVarsreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `commands` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;command_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#commands}

Commands are custom commands that can be executed via 'devspace run COMMAND'. These commands are run within a pseudo bash
that also allows executing special commands such as run_watch or is_equal.

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<command_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#commands-name}

Name is the name of a command that is used via `devspace run NAME`

</summary>

<PartialCommandsreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `dependencies` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;dependency_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#dependencies}

Dependencies are sub devspace projects that lie in a local folder or remote git repository that can be executed
from within the pipeline. In contrast to imports, these projects pose as separate fully functional DevSpace projects
that typically lie including source code in a different folder and can be used to compose a full microservice
application that will be deployed by DevSpace. Each dependency name can only be used once and if you want to use
the same project multiple times, make sure to use a different name for each of those instances.

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<dependency_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#dependencies-name}

Name is used internally

</summary>

<PartialDependenciesreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `pullSecrets` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">&lt;pullSecret_name&gt;:object</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#pullSecrets}

PullSecrets are image pull secrets that will be created by devspace in the target namespace
during devspace dev or devspace deploy. DevSpace will merge all defined pull secrets into a single
one or the one specified.

</summary>


<details className="config-field" data-expandable="true"open>
<summary>

## `<pullSecret_name>` <span className="config-field-required" data-required="true">required</span> <span className="config-field-type">string</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#pullSecrets-name}

Name is the pull secret name to deploy

</summary>

<PartialPullSecretsreference />


</details>


</details>



<details className="config-field" data-expandable="true">
<summary>

## `require` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type"></span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#require}

Require defines what DevSpace, plugins and command versions are required to use this config and if a condition is not
fulfilled, DevSpace will fail.

</summary>

<PartialRequirereference />


</details>



<details className="config-field" data-expandable="true">
<summary>

## `hooks` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type">object[]</span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#hooks}

Hooks are actions that are executed at certain points within the pipeline. Hooks are ordered and are executed
in the order they are specified. They are deprecated and pipelines should be used instead.

</summary>

<PartialHooksreference />


</details>



<details className="config-field" data-expandable="true">
<summary>

## `localRegistry` <span className="config-field-required" data-required="false">required</span> <span className="config-field-type"></span> <span className="config-field-default"></span> <span className="config-field-enum"></span> {#localRegistry}

LocalRegistry specifies the configuration for a local image registry

</summary>

<PartialLocalRegistryreference />


</details>
